<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<title>图片上传</title>
<link th:href="@{/ajax/libs/cropbox/cropbox.css}" rel="stylesheet"/>
<body class="white-bg">
<div class="container">
    <div class="imageBox">
        <div class="thumbBox"></div>
        <div class="spinner" style="display: none">Loading...</div>
    </div>
    <div class="action">
        <div class="new-contentarea tc">
            <a href="javascript:void(0)" class="upload-img"> <label for="img_file">上传图像</label> </a>
            <input type="file" class="" name="img_file" id="img_file" accept="image/*"/>
        </div>
        <input type="button" id="btnCrop" class="Btnsty_peyton" value="裁切"/>
        <input type="button" id="btnZoomIn" class="Btnsty_peyton" value="+"/>
        <input type="button" id="btnZoomOut" class="Btnsty_peyton" value="-"/>
        <input type="button" id="blobSubmit" class="Btnsty_peyton" value="提交"/>
    </div>
    <div class="cropped"></div>
</div>
<div th:include="include::footer"></div>
<script th:src="@{/ajax/libs/cropbox/cropbox.js}"></script>
<script type="text/javascript">
    $(window).load(function () {
        console.log(window.name)
        var imgType = '[[${imgType}]]';
        var imgName = '[[${imgName}]]';
        var parentElem = '[[${elem}]]';

        function getParentElem() {
            return parentElem;
        }

        function setParentElem(val) {
            parentElem = val;
        }

        var options = {
            thumbBox: '.thumbBox',
            spinner: '.spinner',
            imgSrc: $.common.isEmpty(imgName) || $.common.isEmpty(imgType) ? ctx + 'img/profile.jpg' : ctx + 'profile/' + imgType + '/' + imgName
        }
        var cropper = $('.imageBox').cropbox(options);
        $('#img_file').on('change',
            function () {
                var reader = new FileReader();
                reader.onload = function (e) {
                    options.imgSrc = e.target.result;
                    //根据MIME判断上传的文件是不是图片类型
                    if ((options.imgSrc).indexOf("image/") == -1) {
                        parent.layer.alert("文件格式错误，请上传图片类型,如：JPG,JEPG，PNG后缀的文件。", {icon: 2, title: "系统提示"});
                    } else {
                        cropper = $('.imageBox').cropbox(options);
                    }
                }
                reader.readAsDataURL(this.files[0]);
            })
        $('#blobSubmit').on('click', function () {
            var img = cropper.getBlob();
            var formdata = new FormData();
            formdata.append("img_file", img);
            if (!$.common.isEmpty(imgType)) {
                formdata.append("imgType", imgType);
            }
            $.ajax({
                url: ctx + "common/img",
                data: formdata,
                type: "post",
                processData: false,
                contentType: false,
                success: function (result) {
                    parent.$('#' + parentElem).val(result.fileName)
                    //$.operate.saveSuccess(result);
                    var index = parent.layer.getFrameIndex(window.name)
                    parent.layer.close(index)
                }
            })
        })
        $('#btnCrop').on('click', function () {
            var img = cropper.getDataURL();
            $('.cropped').html('');
            $('.cropped').append('<img src="' + img + '" align="absmiddle" style="width:64px;margin-top:4px;border-radius:64px;box-shadow:0px 0px 12px #7E7E7E;" ><p>64px*64px</p>');
            $('.cropped').append('<img src="' + img + '" align="absmiddle" style="width:128px;margin-top:4px;border-radius:128px;box-shadow:0px 0px 12px #7E7E7E;"><p>128px*128px</p>');
            $('.cropped').append('<img src="' + img + '" align="absmiddle" style="width:180px;margin-top:4px;border-radius:180px;box-shadow:0px 0px 12px #7E7E7E;"><p>180px*180px</p>');
        })
        $('#btnZoomIn').on('click', function () {
            cropper.zoomIn();
        })
        $('#btnZoomOut').on('click', function () {
            cropper.zoomOut();
        })
    });
</script>
</body>
</html>
